javascript currying explained